<?php
class Conexao
{
    private $host = 'localhost';  // Declaração de variáveis no banco
    private $database = 'hotel';
    private $user = 'root';
    private $pass = 'q1w2e3';
    private $connection = NULL;  // declaração de variável de conexão
    public static $instance = NULL; // declaração de variável de instancia

    private function __construct() // construtor
    {
        //
    }

    public static function getInstance() // este método retorna uma instancia de conexão
    {
        if (is_null(Conexao::$instance)) {
            Conexao::$instance = new Conexao();
        }
        
        return Conexao::$instance;
    }


    public function getConnection() //monta a string de conexão
    {
        if (is_null($this->connection)) {  // se a conexão for vazia ele monta a conexão
            $this->connection = new PDO("mysql:host=$this->host;dbname=$this->database", $this->user, $this->pass);
        }
        
        return $this->connection; // retorna a conexão
    }

    public function mostrarTabelas()  //mostra as tabelas do banco
    {
        return $this->getConnection()->query('show tables');
    }
}